package com.erp.remote.sale.goods;

import com.erp.util.AjaxResult;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @Author: lyj
 * @Date: 2025/7/1 21:58
 */
@RequestMapping("/goods")
public interface MyGoodsRemote {
    // 选择的商品的详情。即在上面的弹窗列表中选中某些商品，确认之后，可拿到这些商品的详情列表
    // 前端返回为res.data.data。再下面是一个列表，存放若干个终极商品对象（UltimateGoods）
    // 参数，isOK标记是否是库存，0为否，1为是，意味着获得的数据的多寡（批次和预警）。
    @PostMapping("/goodsList")
    AjaxResult goodsList(@RequestBody Integer[] ids,@RequestParam("isOK") Integer isOK);


    // 商品详情,单个，编辑时做回显（封装较为复杂，不做阐述，自行查看实体）
    @GetMapping("/detail/{id}")
    AjaxResult getGoodsDetail(@PathVariable("id") Integer id);
    /**
     * @description:返回多个商品的商品id和商品销售单价
     * @author: lyj
     * @date: 2025/7/2
     * @param: [ids商品id, quotationTyId报价类型id, customerId：报价主体id]
     * @return: java.util.List<com.erp.remote.sale.goods.vo.GoodsPrice>
     **/
    @PostMapping("/price")
    AjaxResult getPrice(@RequestBody Map<String, Object> map);

    @PostMapping("/list")
    AjaxResult allGoods(@RequestParam Map<String, Object> params);

    /**
     * @description: 查询某个商品的所有<b>多单位</p>
     * @author: lyj
     * @date: 2025/7/2
     * @param: []
     * @return: com.erp.util.AjaxResult
     **/
    @GetMapping("/unitById")
    AjaxResult getUnitByGoodsId(@RequestParam Map<String, Object> params);
}
